/**
 * @log  等同于conso.log语句
 * @param name
 * @param instance
 */
export function clog(name: string, instance: any) {
  console.log(name, '===>', instance);
}

/**
 * @getRandom  获取两位数以内的随机数
 * @param start 随机数的取值范围   开始
 * @param end 随机数的取值范围   结束
 * @returns 一个字符串
 */
export function getRandom(start: number, end: number) {
  let num: number | string = Math.floor(Math.random() * (end - start) + start);
  if (num < 10) {
    num = `0${num}`;
  } else {
    num = num.toString();
  }
  return num;
}

/**
 * @getNumberList 获取一个任意长度，由随机数字且不重复组成的数组
 * @param start 随机数字取值范围开始
 * @param end 随机数字取值范围结束
 * @param length 数组的长度
 * @returns 数组
 */
export function getNumberList(start: number, end: number, length: number) {
  const list: string[] = [];
  for (let i = 0; i < length; i++) {
    const count = getRandom(start, end);
    if (list.includes(count)) {
      i -= 1;
    } else {
      list.push(count);
    }
  }
  list.sort();
  return list;
}

/**
 * @getPlatform  判断手机系统
 * @returns Android安卓 iOS苹果  other其他
 */
export function getPlatform() {
  const system = navigator.userAgent;
  clog('navigator.userAgent', system);
  const isAndroid = system.indexOf('Android') > -1 || system.indexOf('Adr') > -1;
  const isiOS = !!system.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  if (isAndroid) {
    return 'Android';
  }
  if (isiOS) {
    return 'iOS';
  }
  return 'other';
}

/**
 * @getIosVersion  获取iOSios系统版本号
 * @returns value ios系统版本号 string || null
 */
export function getIosVersion() {
  if (getPlatform() === 'iOS') {
    const str = navigator.userAgent.toLowerCase();
    const ver = str.match(/cpu iphone os (.*?) like mac os/);
    if (ver) {
      const version = ver[1].replace(/_/g, '.');
      const value = version.split('.')[0];
      return value;
    }
  }
  return null;
}
